package cn.edu.zafu.bigdata.fui;

import java.util.Scanner;

class InvalidScoreException extends Exception{
    public InvalidScoreException(){ super(); }
    public InvalidScoreException(String str){ super(str); }
}

public class TestInvalidScoreException {
    static boolean checkScore(int score) throws InvalidScoreException{
        if(score > 100 || score < 0) throw new InvalidScoreException("分数 " + score + " 非法");
        else {
            System.out.println("分数 " + score + " 合法");
            return true;
        }
    }
    public static void main(String[] args) {
        int score;
        Scanner scanner = new Scanner(System.in);
        score = scanner.nextInt();
        try {
            System.out.println(checkScore(score));
        } catch (InvalidScoreException e){
            System.out.println("发生错误: " + e.getClass().getSimpleName() +" - " + e.getMessage());
        }
        scanner.close();
    }
}
/*题目4：实现自定义异常处理非法分数输入
描述：编写一个程序，定义一个自定义异常InvalidScoreException，用于处理非法的分数输入。
     当用户输入的分数不在0到100之间时，抛出该异常并提示输入错误。
具体要求：
    自定义异常：
        定义一个InvalidScoreException类，继承自Exception，用于表示非法的分数异常。
        异常类应该包含一个构造方法，用于接收错误信息并传递给父类Exception。
    分数验证方法：
        定义一个静态方法checkScore(int score)，该方法接收一个score参数。
        如果score小于0或大于100，抛出InvalidScoreException。
        否则，打印分数有效的提示信息。
    测试代码：
        在main方法中接收用户输入的分数。
        调用checkScore方法并捕获InvalidScoreException，如果分数无效则输出错误提示。*/